There are conventional techniques with which an input is made at an arbitrary position on the screen using an input device such as a touch panel or a touch pad. For example, in a conventional game device including a touch panel, the movement of a character in a game space is controlled based on a trace drawn by inputs on the touch panel. Then, a player can perform game operations while freely specifying a position in the game space on a two-dimensional plane.
With the conventional technique, it was possible to specify a position on a two-dimensional plane by using an input device such as a touch panel, but it was difficult to specify a position in a three-dimensional space. For example, with a conventional game device including a touch panel, it is possible to specify an arbitrary position in a game space if the game space is a two-dimensional plane, but it is not possible to properly specify a position in a game space if it is a three-dimensional game space.
(1)
A first example position calculation system described herein is a position calculation system for calculating a position in a three-dimensional virtual space based on an operation on a controller device. The position calculation system calculates the position in the virtual space based on an attitude of the controller device and an input position on a predetermined input surface of the controller device.
In the embodiment to be described below, the term “position calculation system” is not limited to those implemented with a plurality of devices including a terminal device which is the controller device and a game device which is the information processing device, but may be those implemented with a single device. For example, the position calculation system may be implemented by a portable information processing device which functions as a controller device and an information processing device.
With the configuration (1) above, it is possible to specify a position in a three-dimensional space through the operation of changing the attitude of the controller device and the operation of inputting a position on the input surface of the controller device. That is, with the configuration (1) above, the user can easily specify a position in a three-dimensional space using the controller device.
(2)
In a second example configuration, the position calculation system may include a controller device and an information processing device.
The controller device includes a position detection section, a sensor section, and a data transmission section. The position detection section detects an input position on the input surface. The sensor section outputs data for calculating the attitude. The data transmission section transmits data outputted from the position detection section and the sensor section to the information processing device.
The information processing device includes an attitude calculation section and a position calculation section. The attitude calculation section calculates the attitude of the controller device based on data outputted from the sensor section. The position calculation section calculates the position in the virtual space based on the attitude and the input position.
The “controller device” as used herein is not limited to a terminal device 7 in the embodiment to be described below, but may be any device that includes a position detection section and a sensor section and that has a function of transmitting data to an information processing device.
The “information processing device” as used herein may be any device capable of performing processes of the various sections. The information processing device may be a single-purpose information processing device for games, or a general-purpose information processing device such as an ordinary personal computer.
The “position detection section” as used herein is not limited to a touch panel in the embodiment to be described below, but may be a touch pad. That is, it is not necessary for the controller device to include a display screen.
The “sensor section” as used herein is not limited to an inertia sensor such as an acceleration sensor or a gyrosensor, but is a concept that includes any sensor, e.g., a magnetic sensor to be described below, such that an attitude can be calculated based on the detection results thereof.
With the configuration (2) above, the data from the controller device is received by the information processing device, and the information processing device calculates a three-dimensional position based on the data. Accordingly, the controller device does not need to have the function of performing position calculation processes, and it is therefore possible to simplify the configuration of the controller device and also to reduce the size and the weight of the controller device.
(3)
In a third example configuration, the sensor section may include an inertia sensor.
With the configuration (3) above, it is possible to easily calculate (estimate) the attitude of the controller device using the output of the inertia sensor such as an acceleration sensor or a gyrosensor.
(4)
In a fourth example configuration, the controller device may further include a display section for displaying an image representing the virtual space.
With the configuration (4) above, since an image representing the virtual space is displayed on the controller device, the user can check the virtual space on the controller device at hand.
(5)
In a fifth example configuration, the position detection section may be a touch panel provided on a screen of the display section.
With the configuration (5) above, since the touch panel is provided on the screen of the controller device, the player can specify a three-dimensional position through the operation of touching the screen. Thus, the touch input operation for specifying a three-dimensional position is made easier.
(6)
In a sixth example configuration, the position calculation system may include a position calculation section for calculating, as the position in the virtual space, a position on a surface which is determined in accordance with the attitude of the controller device in the virtual space, based on the input position.
The “surface” as used herein may be a flat surface or a curved surface, or may be a surface whose shape changes in accordance with the attitude of the controller device. It is not necessary for the “surface” to be displayed on the display device. That is, the “surface” may be placed as an object or as a transparent object in the virtual space.
With the configuration (6) above, the user can specify a position on the surface in the virtual space by making an input on the input surface of the controller device, and this surface changes in accordance with the attitude of the controller device. Therefore, the user can easily specify a position in a three-dimensional virtual space by specifying a position on the input surface while changing the attitude of the controller device. With the configuration (6) above, it is possible to easily specify a position in a three-dimensional space based on an input on a planar input surface such as a touch panel or a touch pad.
(7)
In a seventh example configuration, the position calculation system may further include a surface setting section for setting the surface so that an attitude of the surface changes in accordance with the attitude of the controller device.
With the configuration (7) above, the user can change the attitude of the surface through the operation of changing the attitude of the controller device. Thus, it is possible to make the user feel as if the user were actually tilting the surface in the virtual space through the operation of tilting the controller device, thus providing a more intuitive and easy-to-understand operation.
(8)
In an eighth example configuration, the controller device may include a display section and a touch panel. The display section displays an image representing a virtual space including an area of the surface. The touch panel is provided on a screen of the display section. In this case, the position calculation section calculates the position on the surface which is calculated based on the input position so that the input position on the touch panel and the position on the surface coincide with each other on the screen.
With the configuration (8) above, the user can specify (touch) a position on the screen of the display section to thereby specify a position in a virtual space corresponding to that position. Thus, the user can specify a position in a three-dimensional space through a more intuitive and easy-to-understand operation.
(9)
In a ninth example configuration, the position calculation system may include a process performing section for performing a predetermined process using the position in the virtual space associated with the input position as an input.
With the configuration (9) above, the position calculation system can perform various processes using the three-dimensional position inputted by the user as an input.
(10)
In a tenth example configuration, the process performing section may identify one of a plurality of areas set in the virtual space that includes the position in the virtual space associated with the input position, and cause a predetermined sound output section to output a sound associated with the identified area.
The “predetermined sound output section” as used herein may be provided in a separate device from the devices included in the position calculation system. That is, the position calculation system may or may not include the predetermined sound output section. For example, the predetermined information processing device may include the process performing section, and the speaker of the television connected to the information processing device may be used as the “predetermined sound output section”. Also, the speaker provided in the controller device may be used as the “predetermined sound output section”.
With the configuration (10) above, the user can output a sound through the operation of specifying a three-dimensional position in the virtual space using the controller device. As a result, for example, it is possible to provide the user with an operation that allows the user to feel as though the user is playing a virtual musical instrument by specifying different areas arranged in the virtual space.
(11)
In an eleventh example configuration, the plurality of areas may be arranged in a generally arc shape. In this case, the position calculation system includes a surface setting section and a position calculation section. The surface setting section sets a surface in the virtual space so that the surface moves along the plurality of areas in accordance with a change in the attitude of the controller device. The position calculation section calculates a position on the surface based on the input position.
With the configuration (11) above, the user can move the surface in an arc along the plurality of areas arranged in a generally arc shape through the operation of moving the controller device in an arc (changing the attitude thereof). Then, since the movement of the controller device and the movement of the surface are both rotating movements and the movements correspond to each other, the operation of the controller device becomes more intuitive and easy-to-understand for the player.
(12)
In a twelfth example configuration, the position calculation system may include an object setting section and an image generation section. The object setting section sets the predetermined object in the virtual space. The image generation section generates an image representing the virtual space including the predetermined object as an image to be displayed on a predetermined display device. In this case, the process performing section performs the predetermined process when the position in the virtual space associated with the input position is calculated to be a position of the predetermined object.
With the configuration (12) above, the user can perform an operation of making an input on an object in the virtual space through the operation of specifying a three-dimensional position in the virtual space using the controller device. Since the object to be operated is displayed on the display device, the user can easily perform an operation on the object.
(13)
In a thirteenth example configuration, the image generation section may include a first generating section and a second generating section. The first generating section generates, as an image to be displayed on a display device of the controller device, an image representing a partial region of the object so that the region changes in accordance with the attitude of the controller device. The second generating section generates, as an image to be displayed on another display device separate from the display device of the controller device, an image representing a larger region of the object than the partial region.
With the configuration (13) above, since a relatively enlarged image is displayed on the controller device, it is easier to perform input operations. Moreover, since an image of a relatively larger region is displayed on a separate display device, the user is able to know information regarding the user surroundings beyond the displayed region of the controller device. Thus, with the configuration (13) above, it is possible to provide an input system with a good controllability.
(14)
In a fourteenth example configuration, the position calculation system may include an object placement section and an image generation section. The object placement section places, in the virtual space, an object whose attitude is controlled so as to correspond to the attitude of the controller device. The image generation section generates, as an image to be displayed on a predetermined display device, an image representing the virtual space including the object.
With the configuration (14) above, since an object whose attitude changes in accordance with the attitude of the controller device is displayed on the display device, it is possible to check the attitude of the controller device on the screen and it is possible to perform an operation more easily on the controller device.
(15)
In a fifteenth example configuration, the controller device may include a display section for displaying keys arranged in the virtual space. In this case, when the position in the virtual space associated with the input position is calculated to be a position of one of the keys, a predetermined sound output section outputs a sound associated with the key corresponding to the position.
With the configuration (15) above, a sound is outputted from the sound output section through the operation of specifying one of the keys arranged in the virtual space using the controller device. Accordingly, the user can perform an operation of playing a keyboard instrument arranged in the virtual space using the controller device.
This specification discloses an information processing device included in the position calculation system of the configurations (1) to (15) above or an information processing device (position calculation device) having the same function as the position calculation system. This specification also discloses a computer-readable storage medium storing an information processing program (position calculation program) for causing a computer to function as a means equivalent to the various sections of the information processing device. This specification further discloses a position calculation method to be carried out in the position calculation system or the information processing device.
According to systems, devices, storage mediums, and methods described herein, it is possible to specify a position in a three-dimensional space through the operation of changing the attitude of the controller device and the operation of inputting a position on the input surface of the controller device, and as a result the user can easily specify a position in a three-dimensional space using the controller device.
These and other features, aspects and advantages will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.